

#ifndef UC_GEGBLABB_H
#define UC_GEGBLABB_H

#include "zgegbl.h"

const int eGood = UcGe::eGood;
const int eBad = UcGe::eBad;

typedef UcGe::EntityId EntityId;

const UcGe::EntityId kEntity2d = UcGe::kEntity2d;
const UcGe::EntityId kEntity3d = UcGe::kEntity3d;
const UcGe::EntityId kPointEnt2d = UcGe::kPointEnt2d;
const UcGe::EntityId kPointEnt3d = UcGe::kPointEnt3d;
const UcGe::EntityId kPosition2d = UcGe::kPosition2d;
const UcGe::EntityId kPosition3d = UcGe::kPosition3d;
const UcGe::EntityId kPointOnCurve2d = UcGe::kPointOnCurve2d;
const UcGe::EntityId kPointOnCurve3d = UcGe::kPointOnCurve3d;
const UcGe::EntityId kBoundedPlane = UcGe::kBoundedPlane;
const UcGe::EntityId kCircArc2d = UcGe::kCircArc2d;
const UcGe::EntityId kCircArc3d = UcGe::kCircArc3d;
const UcGe::EntityId kConic2d = UcGe::kConic2d;
const UcGe::EntityId kConic3d = UcGe::kConic3d;
const UcGe::EntityId kCurve2d = UcGe::kCurve2d;
const UcGe::EntityId kCurve3d = UcGe::kCurve3d;
const UcGe::EntityId kEllipArc2d = UcGe::kEllipArc2d;
const UcGe::EntityId kEllipArc3d = UcGe::kEllipArc3d;
const UcGe::EntityId kHelix = UcGe::kHelix;
const UcGe::EntityId kLine2d = UcGe::kLine2d;
const UcGe::EntityId kLine3d = UcGe::kLine3d;
const UcGe::EntityId kLinearEnt2d = UcGe::kLinearEnt2d;
const UcGe::EntityId kLinearEnt3d = UcGe::kLinearEnt3d;
const UcGe::EntityId kLineSeg2d = UcGe::kLineSeg2d;
const UcGe::EntityId kLineSeg3d = UcGe::kLineSeg3d;
const UcGe::EntityId kPlanarEnt = UcGe::kPlanarEnt;
const UcGe::EntityId kExternalCurve3d = UcGe::kExternalCurve3d;
const UcGe::EntityId kExternalCurve2d = UcGe::kExternalCurve2d;
const UcGe::EntityId kPlane = UcGe::kPlane;
const UcGe::EntityId kRay2d = UcGe::kRay2d;
const UcGe::EntityId kRay3d = UcGe::kRay3d;
const UcGe::EntityId kSurface = UcGe::kSurface;
const UcGe::EntityId kSphere = UcGe::kSphere;
const UcGe::EntityId kCone = UcGe::kCone;
const UcGe::EntityId kTorus = UcGe::kTorus;
const UcGe::EntityId kCylinder = UcGe::kCylinder;
const UcGe::EntityId kSplineEnt2d = UcGe::kSplineEnt2d;
const UcGe::EntityId kSurfaceCurve2dTo3d = UcGe::kSurfaceCurve2dTo3d;
const UcGe::EntityId kSurfaceCurve3dTo2d = UcGe::kSurfaceCurve3dTo2d;

const UcGe::EntityId kPolyline2d = UcGe::kPolyline2d;
const UcGe::EntityId kAugPolyline2d = UcGe::kAugPolyline2d;
const UcGe::EntityId kNurbCurve2d = UcGe::kNurbCurve2d;
const UcGe::EntityId kDSpline2d = UcGe::kDSpline2d;
const UcGe::EntityId kCubicSplineCurve2d = UcGe::kCubicSplineCurve2d;
const UcGe::EntityId kSplineEnt3d = UcGe::kSplineEnt3d;
const UcGe::EntityId kPolyline3d = UcGe::kPolyline3d;
const UcGe::EntityId kAugPolyline3d = UcGe::kAugPolyline3d;
const UcGe::EntityId kNurbCurve3d = UcGe::kNurbCurve3d;
const UcGe::EntityId kDSpline3d = UcGe::kDSpline3d;
const UcGe::EntityId kCubicSplineCurve3d = UcGe::kCubicSplineCurve3d;
const UcGe::EntityId kTrimmedCrv2d = UcGe::kTrimmedCrv2d;
const UcGe::EntityId kCompositeCrv2d = UcGe::kCompositeCrv2d;
const UcGe::EntityId kCompositeCrv3d = UcGe::kCompositeCrv3d;
const UcGe::EntityId kEnvelope2d = UcGe::kEnvelope2d;

const UcGe::EntityId kExternalSurface = UcGe::kExternalSurface;
const UcGe::EntityId kNurbSurface = UcGe::kNurbSurface;
const UcGe::EntityId kOffsetSurface = UcGe::kOffsetSurface;
const UcGe::EntityId kTrimmedSurface = UcGe::kTrimmedSurface;
const UcGe::EntityId kCurveBoundedSurface = UcGe::kCurveBoundedSurface;
const UcGe::EntityId kPointOnSurface = UcGe::kPointOnSurface;
const UcGe::EntityId kExternalBoundedSurface = UcGe::kExternalBoundedSurface;
const UcGe::EntityId kCurveCurveInt2d = UcGe::kCurveCurveInt2d;
const UcGe::EntityId kCurveCurveInt3d = UcGe::kCurveCurveInt3d;
const UcGe::EntityId kBoundBlock2d = UcGe::kBoundBlock2d;
const UcGe::EntityId kBoundBlock3d = UcGe::kBoundBlock3d;
const UcGe::EntityId kOffsetCurve2d = UcGe::kOffsetCurve2d;
const UcGe::EntityId kOffsetCurve3d = UcGe::kOffsetCurve3d;
const UcGe::EntityId kPolynomCurve3d = UcGe::kPolynomCurve3d;
const UcGe::EntityId kBezierCurve3d = UcGe::kBezierCurve3d;
const UcGe::EntityId kObject = UcGe::kObject;
const UcGe::EntityId kFitData3d = UcGe::kFitData3d;
const UcGe::EntityId kHatch = UcGe::kHatch;
const UcGe::EntityId kTrimmedCurve2d = UcGe::kTrimmedCurve2d;
const UcGe::EntityId kTrimmedCurve3d = UcGe::kTrimmedCurve3d;
const UcGe::EntityId kCurveSampleData = UcGe::kCurveSampleData;

const UcGe::EntityId kEllipCone = UcGe::kEllipCone;
const UcGe::EntityId kEllipCylinder = UcGe::kEllipCylinder;
const UcGe::EntityId kIntervalBoundBlock = UcGe::kIntervalBoundBlock;
const UcGe::EntityId kClipBoundary2d = UcGe::kClipBoundary2d;
const UcGe::EntityId kExternalObject = UcGe::kExternalObject;
const UcGe::EntityId kCurveSurfaceInt = UcGe::kCurveSurfaceInt;
const UcGe::EntityId kSurfaceSurfaceInt = UcGe::kSurfaceSurfaceInt;

typedef UcGe::ExternalEntityKind ExternalEntityKind;

const UcGe::ExternalEntityKind kAcisEntity = UcGe::kAcisEntity;
const UcGe::ExternalEntityKind kExternalEntityUndefined
                                = UcGe::kExternalEntityUndefined;

typedef UcGe::NurbSurfaceProperties NurbSurfaceProperties;

const UcGe::NurbSurfaceProperties kOpen = UcGe::kOpen;
const UcGe::NurbSurfaceProperties kClosed = UcGe::kClosed;
const UcGe::NurbSurfaceProperties kPeriodic = UcGe::kPeriodic;
const UcGe::NurbSurfaceProperties kRational = UcGe::kRational;
const UcGe::NurbSurfaceProperties kNoPoles= UcGe::kNoPoles;
const UcGe::NurbSurfaceProperties kPoleAtMin = UcGe::kPoleAtMin;
const UcGe::NurbSurfaceProperties kPoleAtMax = UcGe::kPoleAtMax;
const UcGe::NurbSurfaceProperties kPoleAtBoth = UcGe::kPoleAtBoth;

typedef UcGe::PointContainment PointContainment;

const UcGe::PointContainment kInside = UcGe::kInside;
const UcGe::PointContainment kOutside = UcGe::kOutside;
const UcGe::PointContainment kOnBoundary = UcGe::kOnBoundary;

typedef UcGe::UcGeXConfig UcGeXConfig;

const UcGe::UcGeXConfig kNotDefined = UcGe::kNotDefined;
const UcGe::UcGeXConfig kUnknown = UcGe::kUnknown;
const UcGe::UcGeXConfig kLeftRight = UcGe::kLeftRight;
const UcGe::UcGeXConfig kRightLeft = UcGe::kRightLeft;
const UcGe::UcGeXConfig kLeftLeft = UcGe::kLeftLeft;
const UcGe::UcGeXConfig kRightRight = UcGe::kRightRight;
const UcGe::UcGeXConfig kPointLeft = UcGe::kPointLeft;
const UcGe::UcGeXConfig kPointRight = UcGe::kPointRight;
const UcGe::UcGeXConfig kLeftOverlap = UcGe::kLeftOverlap;
const UcGe::UcGeXConfig kOverlapLeft = UcGe::kOverlapLeft;
const UcGe::UcGeXConfig kRightOverlap = UcGe::kRightOverlap;
const UcGe::UcGeXConfig kOverlapRight = UcGe::kOverlapRight;
const UcGe::UcGeXConfig kOverlapStart = UcGe::kOverlapStart;
const UcGe::UcGeXConfig kOverlapEnd = UcGe::kOverlapEnd;
const UcGe::UcGeXConfig kOverlapOverlap = UcGe::kOverlapOverlap;

typedef UcGe::ErrorCondition  UcGeError;
 
const UcGe::ErrorCondition	kOk = UcGe::kOk;
const UcGe::ErrorCondition	k0This = UcGe::k0This;
const UcGe::ErrorCondition	k0Arg1 = UcGe::k0Arg1;
const UcGe::ErrorCondition	k0Arg2 = UcGe::k0Arg2;
const UcGe::ErrorCondition	kPerpendicularArg1Arg2 = UcGe::kPerpendicularArg1Arg2;     
const UcGe::ErrorCondition	kEqualArg1Arg2 = UcGe::kEqualArg1Arg2;
const UcGe::ErrorCondition	kEqualArg1Arg3 = UcGe::kEqualArg1Arg3;
const UcGe::ErrorCondition	kEqualArg2Arg3 = UcGe::kEqualArg2Arg3;
const UcGe::ErrorCondition	kLinearlyDependentArg1Arg2Arg3 = UcGe::kLinearlyDependentArg1Arg2Arg3;
const UcGe::ErrorCondition	kArg1TooBig = UcGe::kArg1TooBig;
const UcGe::ErrorCondition	kArg1OnThis = UcGe::kArg1OnThis;
const UcGe::ErrorCondition	kArg1InsideThis = UcGe::kArg1InsideThis;

typedef UcGe::UcGeIntersectError UcGeIntersectError;

const UcGe::UcGeIntersectError kXXOk = UcGe::kXXOk;
const UcGe::UcGeIntersectError kXXIndexOutOfRange = UcGe::kXXIndexOutOfRange;
const UcGe::UcGeIntersectError kXXWrongDimensionAtIndex = UcGe::kXXWrongDimensionAtIndex;
const UcGe::UcGeIntersectError kXXUnknown = UcGe::kXXUnknown;
#endif
